home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / math / alged34.zip / ALGEDFRA.HLP < prev    next >
Text File  |  1996-06-06  |  20KB  |  399 lines

  1.              Aide en ligne pour ALGED Algebra Editor
  2.  
  3. Copyright (c) 1994,1996 John Henckel
  4.  
  5. L'autorisation d'utiliser, copier, modifier, distribuer et vendre ce
  6. logiciel et sa documentation pour n'importe quelle raison que ce soit
  7. est accordée gratuitement sous réserve que la présente notice de
  8. copyright apparaisse sur chaque copie et qu'elle apparaisse aussi en
  9. même temps que cette notice d'autorisation dans la documentation de
  10. support.  Tous les programmes contenus ici sont livrés "tels quels".
  11.  Les garanties implicites de vente et d'adaptation pour un usage
  12. particulier sont expressément exclues.
  13.  
  14. ----------------------------------------------------------------------------
  15.  
  16. Je m'appelle John Henckel (internet:  henckel@vnet.ibm.com).  Je suis
  17. un passionné de micro; J'aime écrire des programmes pour m'amuser
  18. et ALGED est l'un d'entre eux.  Je recommande aussi mon programme
  19. simulateur de collision en 2D "Impact" que l'on trouve sur Internet
  20. dans http://www.coast.net/SimTel/msdos/simulatn.html
  21.  Merci à ma famille de me laisser travailler sur ce sujet.  Merci à mon
  22. manager à IBM Rochester Minnesota de me permettre d'offrir ce
  23. programme gratuitement au public.
  24.  
  25. Alged est un programme pour résoudre des problèmes d'algèbre.
  26.  Il y a d'autres programmes qui peuvent effectuer des manipulations
  27. de formules symboliques, par exemple MathCad ou Mathematica.
  28.  
  29.  Les avantages d'Alged sont :
  30.     * C'est gratuit ! Le source des programmes est gratuit aussi !
  31.     * Peu de ressources demandées ( il tourne sur un PC/XT de 256 Mb)
  32.     * Facile à utiliser, idéal pour l'éducation
  33.     * Graphiques en 2D et 3D rapides et faciles à mettre en oeuvre.
  34.     * Peut être personnalisé et traduit dans d'autres langues. (versions
  35.       en flamand et en français incluses)
  36.  
  37. Bien sûr, il existe des limites.  Alged n'a rien d'un programme "commercial"
  38. (pourtant, j'ai vu pire !) Alged ne traite pas les matrices, les séries, les
  39. intégrales, les dérivées ou les transformations transcendentales.
  40. Les nombres imaginaires ne sont supportés que pour les cinq opérations
  41. de base (addition, soustraction, multiplication, division et exponentiation).
  42.  
  43. Alged est un outil pur les mathématiques symboliques, aussi j'ai
  44. volontairement évité les algorithmes qui font appel à la puissance
  45. du micro pour faire du "number crunching".
  46.  
  47. Vous pouvez consulter le fichier alged.doc pour un apprentissage rapide du
  48. produit.
  49. ----------------------------------------------------------------------------
  50. Instructions pour l'entrée des données.
  51.  
  52.  L'écran Alged possède un menu en haut et une zone de travail en bas.
  53. En bas à gauche, l'heure est indiquée, et le pourcentage de mémoire utilisée.
  54. (Quand la mémoire atteint les 100%, Alged s'arrête.)
  55.  On manipule les formules dans la zone de travail en cliquant sur des parties
  56. d'entre elles puis en cliquant sur une fonction dans le menu.
  57.  On clique sur le bouton gauche de la souris dans la zone de travail pour
  58. sélectionner l'expression courante, appelée PRISE. La Prise est
  59. mise en double brillance.
  60.  On clique sur le bouton droit de la souris dans la zone de travail pour
  61. sélectionner l'expression CLE. La Clé est copiée au bas de l'écran. Noter
  62. qu'il est possible de cliquer sur la Clé au bas de l'écran, de sorte que la
  63. Prise peut être une sous-entité de la Clé.
  64.  Pour se déplacer dans la zone de travail, on peut cliquer sur la bordure
  65.  du bas de l'écran.
  66.  
  67. Si votre micro n'a pas de souris, (ou si vous avez décidé de ne pas vous en
  68. servir, utiliser les touches [Page Haut], [Page Bas] et [Fin] pour sélectionner
  69. la Prise.  Ces touches descendent dans l'arbre hiérarchique du fichier stocké
  70. en mémoire.  On peut copier la Prise vers la Clé en tapant '.' .  On peut
  71. lister la Clé en tapant 'k'.  On peut copier la Clé sur la zone de travail en
  72. tapant la touche [Inser].  On peut annuler la Clé en tapant sur [Entrée].  Pour
  73. se déplacer dans la zone de travail, on peut utiliser les touches avec des
  74. flèches.
  75.  
  76. Quelques opérations sur le menu utilisent seulement la Prise, d'autres
  77. utilisent à la fois la Prise et la Clé.  A moins d'une autre explication, les
  78. descriptions du menu ci dessus s'appliquent uniquement à la Prise.
  79.  
  80. Les opérations sur les polynômes, telles que PolyFact ou PolyDiv ne
  81. requierent pas la spécification de la Clé. Si aucune Clé n'est spécifiée,
  82. ces fonctions utiliseront la variable 'x' ou la premiere variable
  83. rencontrée dans l'expression .  Si la prise est une équation, les
  84. opérations polynomiales sélecteront automatiquement un côté ou l'autre de
  85. l'équation.
  86.  
  87. ----------------------------------------------------------------------------
  88. Description du Menu :
  89.  
  90. Simplifie [barre d'espace] : simplifie l'expression. Cette fonction trie
  91. l'expression, combine les termes communs, calcule les nombres et la réécrit
  92. sous forme canonique.
  93.   Note : Une fonction similaire est SimpStep qui est assignée à la touche de
  94. fonction 'x'. La fonction SimpStep montre les étapes intermédiaires de la
  95. simplification.
  96.  
  97. Distribue [d] distribue la multiplication sur les additions et les
  98. soustractions et distribue les exposants sur la multiplication et la division.
  99.  
  100.   Note: Une autre fonction similaire est DistChild qui est assignée au
  101. caractère 'D' (appuyer sur Maj et 'd'). La fonction DistChild est différente
  102. pour deux raisons.
  103.     1. DistChild fait une distribution du haut vers le bas. Par exemple,
  104.            (x*(a + b))^2  --->  (x^2)*(a + b)^2    avec  DistChild
  105.            (x*(a + b))^2  --->  (x*a + x*b)^2      avec  Distribue
  106.     2. DistChild ne distribue pas les facteurs majeurs dans une expression
  107. ou une équation. On peut utiliser DistChild pour simplifier le resultat
  108. d'une mise en facteurs, comme FactPoly ou FactQuad.
  109.  
  110. Calcule [c] calcule tous les nombres ex: 3*2 => 6.
  111.  
  112. FactPrem [v] trouve la mise en facteurs premiers de nombres entiers.  (Ceci est
  113. est limité par l'option ?d du fichier de personnalisation Alged.1st)
  114.  
  115. Entiers [i] convertit les nombres réels en entiers, si possible.  ex : 1.5 =>
  116. 3/2 Cet algorithme a deux stratégies différentes.  Tout d'abord, il cherche
  117. des séquences répétitives dans la partie fractionnaire du nombre.  Au moins
  118. deux chiffres répétés doivent être significatifs.  Si cela ne marche pas, il
  119. cherche un nombre entier, d, tel que d*x soit un entier.  Les paramètres
  120. utilisateurs ?e et ?d du fichier Alged.1st sont utilisés ici.
  121.  
  122. Associe [a] permute les éléments dans un groupe associatif.
  123.  
  124. Déno-Comm [m] Est une fonction à bascule pour créer un dénominateur commun ou
  125. pour distribuer la division sur les additions et les soustractions.
  126.  
  127. Mode Car  [8] Bascule les codes ascii 7 bits vers 8 bits ou vice-versa.
  128. Ceci est pratique si l'on utilise l'impression d'écran.
  129.  
  130. Coef-Poly [p] collecte les coefficients d'un polynôme.  La Prise doit
  131. être un polynôme (pas une équation) et la Clé doit être l'expression
  132. utilisée comme base du polynôme.
  133. ex. Prise : a*x + b*x + c, Clé : x ==> le resultat est c + (a + b)*x
  134.  
  135. Centrer [home] centre horizontalement les formules (valeur par défaut).
  136.  
  137. Div-Poly [\] division polynomiale. La Prise doit être une division (pas
  138. une équation) et le numérateur doit être un polynôme de degré supérieur
  139. ou égal à celui du dénominateur. La Clé doit être la variable de base.
  140. ex: Prise : (x^2 - y^2)/(x - y) et Clé : x. ==> Le résultat est x + y.
  141.  
  142. FactQuad [q] Met en facteurs un polynôme de degré 2 en utilisant l'équation
  143. quadratique. La Prise doit être un polynôme de degré 2 et non une équation. La
  144. Clé doit être la variable de base.
  145. ex:  Prise : (x^2 - y^2) et  Clé :  x. ==> Le résultat est (x + y)(x - y).
  146.  
  147. FactCubic [3] Met en facteurs un polynôme de degré 3 en utilisant l'équation
  148. cubique.  La Prise doit être un polynôme de degré 3 (pas une équation) La Clé
  149. doit être la variable de base.
  150. ex:  Prise : (x^3 - y^3) et Clé : x. ==> Résultat (après Entiers et
  151. plusieurs fonctions Calcule et Simplifie ) :
  152.          (x - y)*(x + (0.5 - 0.86i)*y)*(x + (0.5 + 0.86i)*y).
  153.  
  154.   Note:  Cette fonction ne marche pas très bien. Elle donne parfois une
  155.   réponse fausse et parfois utilise toute la mémoire. Le problème se rencontre
  156.   avec des racines non singulières. N'utilisez cette fonction qu'en dernier
  157.   ressort.
  158.  
  159. Fact-Poly [f] Met en facteurs un polynôme en utilisant les racines
  160. rationnelles.  La Prise doit être un polynôme (pas une équation).  La Clé doit
  161. être la variable de base.
  162. Ex : Prise : (x^4 - y^4) et Clé :   x.  ==> Résultat :
  163.                      (x - y)(x + y)(x^2 + y^2).
  164.  
  165. Substitue [u] Réalise la substitution basée sur la Clé appliquée sur la Prise.
  166. La Clé doit être une équation.
  167. Ex : Prise :  a*x + b  et Clé  : x = y - 1
  168.   ==> Résultat :  a*(y - 1) + b.
  169.  
  170.   Notes: Le type de la Clé peut être une expression, mais on peut avoir
  171.   besoin de changer l'association sur la Prise de façon à faire fonctionner
  172.   la substitution. On peut réaliser ceci avec la fonction Egal-Clé : Pour
  173.   remplacer la Prise par la Clé, taper =u.
  174.  
  175. ^N Etend [n] étend les exposants entiers Ex : x^3 ==> x*x*x
  176.  
  177. JointExp [j] joint les  exposants de la base commune. Ceci est la
  178. fonction inverse de Distribue pour les exposants.
  179.  
  180. Egal-Clé [=] Change la Clé en une équation en utilisant la Prise.
  181. Ni la Prise ni la Clé ne doivent être une équation avant cette opération.
  182.  Ex : Prise : x + y, Clé : z ==> Clé résultante x + y = z
  183.  
  184.   Note: On peut utiliser  = et u pour remplacer la Prise par la Clé.
  185.  
  186. Add-Clé [+] ajoute la Clé à la Prise.
  187.      Notes   Si la Prise est une équation, la Clé est ajoutée
  188.      aux deux côtés. Si la Clé est une équation, les côtés correspondants
  189.      sont ajoutés à la Prise. Si la Prise ou la Clé ne sont pas une équation,
  190.      la Clé est à la fois ajoutée et retranchée à la Prise.
  191.      Ex :  Prise : x, Clé : y ==> résultat : x + y - y.
  192.  
  193. Sub-Clé [-] soustrait la Clé à la Prise.  Voir notes sur Add-Clé.
  194.  
  195. Mult-Clé [*] multiplie la Prise par la Clé.  Voir notes on Add-Clé.
  196.  
  197. Div-Clé [/] divise la Prise par la Clé.  Voir notes sur Add-Clé.
  198.  
  199. Exp-Clé [e] Monte la Prise à la puissance Clé. Voir notes sur Add-Clé.
  200.  
  201. EffaceDeb [suppr] Efface l'expression en haut de l'écran.
  202.  
  203. EntrerClé [k] demande la saisie d'une nouvelle Clé.  On doit taper la Clé
  204. et appuyer sur F6 Entrée quand on a terminé.
  205. (La touche de fonction F6 peut produire un ^Z, mais si cela ne fonctionne
  206. pas, on peut alors appuyer sur ctrl-z.). On peut utiliser soit une notation
  207. "infix" soit "postfix" en fonction de l'option ?f du fichier alged.1st.
  208.  
  209.   Exemple "Infix" z = (x^2 + y^2)^.5.
  210.  
  211.   Exemple "Postfix"  z x 2 ^ y 2 ^ + .5 ^ =.
  212.   On ne peut pas utiliser de parenthèses. Les symboles doivent être
  213. séparés par des blancs.
  214.  
  215.   Note:  On peut utiliser EntrerClé pour taper tout ce qui peut exister
  216.   dans un fichier de données (extension .ae). Ceci s'applique aussi aux
  217.   commentaires visibles (") et aux options utilisateurs telles que ?m 41.
  218.   (Exception: on ne peut pas changer les drivers bgi avec ?g, mais on peut
  219.   changer le mode ou la palette de couleurs). L'option ?f ne prend pas
  220.   effet avant la fin du fichier.
  221.   Utiliser la fonction InsèreClé pour ajouter la nouvelle Clé à l'expression.
  222.  
  223. InsèreClé [Inser] Copie la Clé à la liste des expressions en cours.
  224.  
  225. EffacTout [Alt-e] efface toutes les expressions de la zone de travail
  226. (sauf la Clé)
  227.  
  228. DebugMode [Alt-d] Vide la liste arborescente de la Prise à des fins de
  229. corrections du programme.
  230.  
  231. Charge [l] Charge d'autres expressions à partir d'un fichier.
  232.  Note: Les expressions en cours ne sont pas effacées.
  233.  
  234. Sauve [s] Sauvegarde la liste des expressions sur un fichier. La Clé
  235. n'est pas sauvegardée.
  236.  
  237. Ecrit [w] Ecrit la liste des expressions en notation "postfix". Cette
  238. fonction n'est pas très utile sauf si vous aimez la notation "postfix".
  239. Je l'ai laissée parce qu'elle se trouvait déjà dans alged version 2.1.
  240.  
  241. EgalDroit ']' Déplace l'opérande de droite depuis la partie gauche d'une
  242. équation vers la partie droite.
  243. Exemple: Si la Prise est x + y = 3, le résultat est x = 3 - y.
  244.  
  245. EgalGauch '[' Déplace l'opérande de gauche depuis la partie gauche d'une
  246. équation vers la partie droite.
  247. Exemple: Si la Prise est x + y = 3, le résultat est y = x + 3.
  248.  
  249. Graph [g] Passe l'écran en mode graphique et trace la fonction.
  250.  Appuyer sur F1 pour avoir l'aide en ligne sur les touches de fonction en
  251. mode graphique.
  252.  Pour utiliser les graphiques, il faut un adaptateur vidéo CGA, EGA, VGA ou
  253. Hercules et on doit avoir le fichier bgi correspondant (par ex EGAVGA.BGI)
  254. dans le répertoire courant. Alged détecte automatiquement le mode voulu
  255. parmi les quatre cités. S vous voulez utiliser un autre fichier bgi, indiquez
  256. le avec l'option ?g du fichier alged.1st.
  257.  
  258. -----------------------------------------------------------------------------
  259. Commentaires généraux.
  260.  
  261. Si vous appréciez Alged ou avez des suggestions, envoyez moi un message sous
  262. Internet. Je ne demande pas d'argent, mais j'aime recevoir des messages !
  263.  
  264. Quand on démarre Alged à partir de la ligne de commande DOS, on peut
  265. spécifier un ou plusieurs fichiers de données à charger. Alged charge
  266. toujours en premier le fichier ALGED.1ST. Il est donc conseillé de mettre
  267. dans ce fichier les options de personnalisation pour Alged, mais on peut
  268. aussi y mettredes formules mathématiques. Voir le fichier ALGED.1ST pour
  269. avoir la liste des options de personnalisation utilisées par Alged.
  270. Alged utilise le mode vidéo courant; si on désire le changer, il faut
  271. taper par exemple MODE co80,43 (le driver ANSI.SYS peut être nécessaire
  272. pour cette commande).
  273.  
  274. L'algorithme de visualisation utilisé par ALGED n'est pas parfait; par
  275. exemple, dans l'expression :
  276.                1       2
  277.               ----    y
  278.                 2  + ----
  279.                x      b
  280.  
  281. les barres de fractions devraient être sur la même ligne. On peut les
  282. y forcer en sélectionnant l'option ?y=0 dans le fichier ALGED.1ST, mais cela
  283. entraîne d'autres conséquences qui peuvent être gênantes.
  284.  
  285. Quand on clique sur une expression avec la souris, la façon de le faire
  286. est évidente. Il existe une exception pour les exponentielles.
  287. Pour cliquer sur une exponentielle, pointer la souris juste au dessus du
  288. coin en haut à droite et cliquer.
  289. Par exemple, dans
  290.                                             2
  291.                                      (x + y)
  292.  
  293. pointer juste au dessus de ')' et cliquer.
  294.  
  295. Vous remarquerez, en haut à gauche du menu les fonctions 'Simplifie' et
  296. 'Distribue'. Ces opérations sont très pratiques pour réduire une longue
  297. expression compliquée. Après une division polynomiale ('Div Poly') par
  298. exemple, j'exécute alternativement 'Distribue' et 'Simplifie' jusqu'à
  299. ce que plus rien ne change.
  300.  
  301. Ce programme ne supporte pas directement les opérateurs négatifs; c'est
  302. pourquoi, au lieu de taper -x, on doit taper -1*x.
  303. Il ne supporte pas non plus les racines; ainsi, pour dire sqrt(x), on devra
  304. écrire x^0.5
  305.  
  306. Toutes les valeurs numériques sont stockées sous forme de nombres à
  307. virgule flottante sur 8 octets selon la norme IEEE (double précision).
  308. Ceci autorise à avoir des nombres à 16 digits avec un exposant entre
  309. -307 et +307.
  310. Alged ne délivre que 15 digits, car le dernier n'est souvent pas juste.
  311. Ceci amène parfois à des situations où des nombres qui apparaissent comme des
  312. entiers n'en sont pas en fait. Par exemple, on peut voir 1*x et, quand on
  313. le simplifie avec 'Simplifie', cela ne change pas la valeur de x. Pour
  314. corriger cela, utiliser la fonction 'Entiers', et les digits erronés
  315. sont éliminés. Un petit mot de précaution : si votre problème utilise de
  316. très petits nombres, tels que 1.23e-10, il ne faut pas utiliser la fonction
  317. 'Entiers' qui retirerait tous les chiffres significatifs.
  318. Les symboles spéciaux suivants sont reconnus :
  319.       pi = 3.14159265358979292
  320.       e =  2.71828182845904509
  321.  
  322. Alged permet d'utiliser toute fonction ayant jusqu'à 5 arguments.
  323. Cependant, seules les fonctions suivantes sont reconnues dans les
  324. calculs et dans les graphiques :
  325.   Avec un argument :
  326.                     sin, cos, tan, acos, asin, atan, cosh, sinh,
  327.                     tanh, ln (base e), log (base 10), abs, rand, sign.
  328.   Avec deux arguments :
  329.                         min, max, r, mod, atan2.
  330. Les fonctions trigonométriques sont en radians. La fonction r(x,y) utilise
  331. la fonction 'hypot' en C qui est égale à (x^2 + y^2)^0.5 qui est l'hypoténuse.
  332. La fonction atan2(y,x) est l'angle (en radians, de -pi à pi) de la ligne
  333. joignant (x,y) à l'origine.
  334.  
  335. Les noms des variables peuvent aller jusqu'à 24 caractères. Par contre, le
  336. nom des fonctions est limité à 7 caractères. Ceci est du au fait que les
  337. pointeurs des paramètres utilisent une partie de la mémoire.
  338.  
  339. La variable spéciale "i" est reconnue comme la racine carrée de -1.
  340. De la sorte, i*i est simplifié en -1. De même, i^7.3 devient -1*i^1.3.
  341.  
  342. Les nombres imaginaires sont supportés dans les exponentielles, (1+2i)^3
  343. est évalué comme
  344. 2.24^3*(cos(1.11*3) + i*sin(1.11*3)) soit -11-2i.  J'ai utilisé la
  345. convention dans laquelle -pi<theta<=pi. Les nombres imaginaires ne sont pas
  346. calculés dans des fonctions comme sin(3*i)
  347.  
  348. Les deux fonctions 'Calcule' et 'Simplifie' calculent des résultats
  349. numériques. Toutefois, la différence est que 'Simplifie' n'essaiera pas
  350. de faire le calcul sur des nombres entiers dont le résultat conduirait
  351. un nombre non entier. Par exemple, 4^0.5 n'est pas traité par 'Simplifie'
  352. mais l'est par 'Calcule'.
  353.  
  354. Quelques fonctions sur les polynômes ne marchent pas tant que l'expression
  355. n'a pas été d'abord complètement distribuée et simplifiée.
  356.  
  357. Vous pouvez vous exercer avec 'Associe et 'Coef Poly'. Ces opérations
  358. sont utiles dans de nombreux cas. 'Associe' va réarranger les
  359. additions / soustractions  ou les multiplications / divisions, ou =,
  360. en fonction de ce qui est sélecté à ce moment là.
  361.  
  362. La fonction 'Fact-Poly' peut être très longue à exécuter. Sur un 486DX-33,
  363. la mise en facteurs d'un polynôme du 4ème degré peut prendre 15 secondes.
  364. En général, je dois admettre que je n'ai pas essayé d'optimiser les
  365. performances d'Alged. C'était déjà assez difficile de faire le programme.
  366.  
  367. Personnalisation :
  368.  
  369. Le menu d'Alged et les autres messages du programme sont stockés dans le
  370. fichier ALGEDFRA.MNU (pour la version française). On peut le personnaliser
  371. en utilisant un programme éditeur de texte. On peut changer la taille et
  372. la disposition du menu, les touches de fonctions, ou n'importe quelle
  373. partie du texte. On peut traduire ce fichier dans une autre langue (ce
  374. qui a été fait pour la version française). Si vous le faites, renvoyez moi
  375. la version traduite pour que je puisse la distribuer !
  376. Quand Alged démarre, il charge en mémoire le fichier ALGEDxyz.MNU à
  377. partir du répertoire en cours, où xyz est la valeur indiquée pour le
  378. langage et spécifiée dans le paramètre ?l du fichier ALGED.1ST.
  379.  
  380. Notes finales :
  381.  
  382. Une dernière note sur la fiabilité. Ce programme a été mis à la disposition
  383. de tous comme le résultat d'un développement pour le plaisir et n'est
  384. pas fiable. Vous devrez vérifier les réponses en refaisant si possible
  385. l'opération à l'envers. Vous devrez sauvegarder souvent votre travail
  386. pour éviter tout problème. Quand j'ai développé ce programme, il m'est
  387. souvent arrivé de bloquer le système. Je n'avais plus qu'à remettre la
  388. machine sous tension pour la faire repartir ! Soyez prudents, surtout
  389. sur des opérations très longues telles  que 'Fact-Poly'.
  390.  
  391. "Voici ce que dit le Seigneur :'Ne laissez pas l'homme sage se vanter de sa
  392. sagesse ou l'homme fort se vanter de sa force, ou l'homme riche se vanter
  393. de ses richesses, mais faites que celui qui se vante, se vante de ceci :
  394. qu'il soit celui qui me comprend et me connaît, que je suis le Seigneur,
  395. qui suis la bonté, la justice et la droiture sur terre, car c'est là ma
  396. joie,' dit le Seigneur." Jérémie 9.23-24
  397.  
  398. Fin du texte de l'aide.  Appuyer sur n'importe quelle touche pour revenir
  399.